在Python中,iter()是一个魔术方法,用于定义一个类的迭代器。当一个对象被用于for循环或者其他需要迭代的场合时,Python会自动调用该对象的__iter__()方法,返回一个迭代器对象,然后使用这个迭代器对象来遍历对象中的元素。
iter()方法应该返回一个迭代器对象,这个迭代器对象应该有一个__next__()方法,用于返回可迭代对象中的下一个元素,如果没有更多的元素可以迭代了,则应该抛出StopIteration异常。
下面是一个简单的示例,展示如何使用__iter__()方法来定义一个可迭代对象:
class MyIterable:
def __init__(self):
self.data = [1, 2, 3, 4, 5]
def __iter__(self):
# 返回迭代器对象
return MyIterator(self.data)
class MyIterator:
def __init__(self, data):
self.data = data
self.index = 0
def __next__(self):
# 返回下一个元素
if self.index |